/*
 * File:   IJoint.h
 * Author: Elevator
 *
 * Created on 12 Май 2013 г., 16:47
 */

#ifndef JOINT_H
#define JOINT_H

#include <string>
#include "Physics/Physics.h"
#include "Action.h"
#include "Part.h"

class Junction : public Part
{
public:
	Junction( std::string id );
	virtual ~Junction( );

	void SetJoint( physics::IHingeJoint* joint );
	physics::IHingeJoint* GetJoint( ) const;

	virtual void PerformAction( const Action& action );

	virtual void Update( float dt );
	virtual void Draw( ) const;

private:
	static const float MOTOR_SPEED_DELTA;
	static const float MOTOR_TORQUE_DELTA;
	physics::IHingeJoint* _joint;
};

#endif	/* IJOINT_H */
